43 TrajectoryBaseWPtr trajectory_ptr_;
44 CaptureBasePtrList capture_list_;
46 static unsigned int frame_id_count_;
69 template <
typename classType,
typename... T>
70 static std::shared_ptr<classType>
emplace(TrajectoryBasePtr _ptr, T&&... all);
72 void link(TrajectoryBasePtr);
73 void link(ProblemPtr _prb);
75 void remove(
bool viral_remove_parent_without_children =
false)
override;
80 unsigned int id()
const override;
90 StateBlockConstPtr
getV()
const;
94 void setProblem(ProblemPtr _problem)
override final;
102 FrameBaseConstPtr
getNextFrame(
const unsigned int& i = 1)
const;
108 bool hasCapture(
const CaptureBaseConstPtr& _capture)
const;
131 CaptureBaseConstPtr
getCaptureOf(SensorBaseConstPtr _sensor_ptr)
const;
132 CaptureBasePtr
getCaptureOf(SensorBaseConstPtr _sensor_ptr);
134 CaptureBaseConstPtr
getCaptureOf(SensorBaseConstPtr _sensor_ptr,
const std::string& type)
const;
135 CaptureBasePtr
getCaptureOf(SensorBasePtr _sensor_ptr,
const std::string& type);
137 CaptureBaseConstPtrList
getCapturesOf(SensorBaseConstPtr _sensor_ptr)
const;
145 std::ostream& stream,
146 std::string _tabs =
"")
const;
148 void print(
int depth,
152 std::ostream& stream = std::cout,
153 std::string _tabs =
"")
const;
155 virtual CheckLog localCheck(
bool _verbose, std::ostream& _stream, std::string _tabs =
"")
const;
156 bool check(
CheckLog& _log,
bool _verbose, std::ostream& _stream, std::string _tabs =
"")
const;
159 CaptureBasePtr addCapture(CaptureBasePtr _capt_ptr);
160 void removeCapture(CaptureBasePtr _capt_ptr);
161 void setTrajectory(TrajectoryBasePtr _trj_ptr);
166 return std::static_pointer_cast<FrameBase>(shared_from_this());
170 return std::static_pointer_cast<const FrameBase>(shared_from_this());
185template <
typename classType,
typename... T>
188 std::shared_ptr<classType> frm = std::make_shared<classType>(std::forward<T>(all)...);
189 frm->emplacePriors();
221 return trajectory_ptr_.lock();
226 return trajectory_ptr_.lock();
231 CaptureBaseConstPtrList list_const;
232 for (
auto&& obj_ptr : capture_list_) list_const.push_back(obj_ptr);
238 return capture_list_;
241inline void FrameBase::setTrajectory(TrajectoryBasePtr _trj_ptr)
243 trajectory_ptr_ = _trj_ptr;
251 auto cap_derived = std::dynamic_pointer_cast<const C>(capture_ptr);
252 if (cap_derived)
return cap_derived;
262 auto cap_derived = std::dynamic_pointer_cast<C>(capture_ptr);
263 if (cap_derived)
return cap_derived;
271 std::list<std::shared_ptr<const C>> captures;
274 auto cap_derived = std::dynamic_pointer_cast<const C>(capture_ptr);
275 if (cap_derived) captures.push_back(cap_derived);
283 std::list<std::shared_ptr<C>> captures;
286 auto cap_derived = std::dynamic_pointer_cast<C>(capture_ptr);
287 if (cap_derived) captures.push_back(cap_derived);
Definition: capture_base.h:39
Definition: check_log.h:28
Definition: factor_base.h:72
Definition: frame_base.h:38
virtual void printHeader(int depth, bool factored_by, bool metric, bool state_blocks, std::ostream &stream, std::string _tabs="") const
Definition: frame_base.cpp:265
CaptureBaseConstPtrList getCapturesOf(SensorBaseConstPtr _sensor_ptr) const
Definition: frame_base.cpp:192
virtual CheckLog localCheck(bool _verbose, std::ostream &_stream, std::string _tabs="") const
Definition: frame_base.cpp:298
~FrameBase() override=default
bool hasCapture(const CaptureBaseConstPtr &_capture) const
Definition: frame_base.cpp:234
TimeStamp getTimeStamp() const
Definition: frame_base.h:204
unsigned int id() const override
Definition: frame_base.h:194
FactorBaseConstPtrList getFactorList() const
Definition: frame_base.cpp:208
void setTimeStamp(const TimeStamp &_ts)
Definition: frame_base.cpp:77
FrameBaseConstPtr getPreviousFrame(const unsigned int &i=1) const
Definition: frame_base.cpp:88
unsigned int frame_id_
Definition: frame_base.h:49
FrameBaseConstPtr shared_from_this_frame() const
Definition: frame_base.h:168
bool check(CheckLog &_log, bool _verbose, std::ostream &_stream, std::string _tabs="") const
Definition: frame_base.cpp:340
std::list< std::shared_ptr< const C > > getCapturesOfType() const
Definition: frame_base.h:269
TimeStamp time_stamp_
frame time stamp
Definition: frame_base.h:50
CaptureBaseConstPtrList getCaptureList() const
Definition: frame_base.h:229
std::shared_ptr< const C > getCaptureOfType() const
Definition: frame_base.h:247
TrajectoryBaseConstPtr getTrajectory() const
Definition: frame_base.h:219
void link(TrajectoryBasePtr)
Definition: frame_base.cpp:239
void remove(bool viral_remove_parent_without_children=false) override
Definition: frame_base.cpp:43
FrameBasePtr shared_from_this_frame()
Definition: frame_base.h:164
void print(int depth, bool factored_by, bool metric, bool state_blocks, std::ostream &stream=std::cout, std::string _tabs="") const
Definition: frame_base.cpp:285
FrameBase(const TimeStamp &_ts, const TypeComposite &_frame_types, const VectorComposite &_frame_vectors, const PriorComposite &_frame_priors={})
Constructor time stamp and specs composite.
Definition: frame_base.cpp:32
StateBlockConstPtr getV() const
Definition: frame_base.h:209
FrameBaseConstPtr getNextFrame(const unsigned int &i=1) const
Definition: frame_base.cpp:102
void setProblem(ProblemPtr _problem) override final
Definition: frame_base.cpp:256
CaptureBaseConstPtr getCaptureOf(SensorBaseConstPtr _sensor_ptr) const
Definition: frame_base.cpp:176
static std::shared_ptr< classType > emplace(TrajectoryBasePtr _ptr, T &&... all)
Definition: frame_base.h:186
bool hasChildren() const override
Definition: frame_base.cpp:72
Definition: node_state_blocks.h:32
virtual StateBlockConstPtr getStateBlock(const char &_sb_key) const
Definition: node_state_blocks.h:275
TimeStamp implements basic functionalities for time stamps.
Definition: time_stamp.h:39
Definition: vector_composite.h:27
Definition: capture_base.h:23